#!/bin/bash
#功能函数
funcs=`which functions.sh`
if [ "$funcs" != "" ] ;then
    . $funcs
else
    funcs=`dirname $0`/functions.sh
    echo "$PWD"
    echo "funcs=$funcs"
    if [ "$funcs" != "" ] ;then
	. $funcs
    else
	exit
    fi
fi

config_file1=50-android.rules
config_file2=90-android.rules
config_file3=51-android.rules
config_file4=52-android.rules
sudo cat >~/$config_file1<<EOF
#!/bin/bash
echo "＊＊＊＊＊＊＊＊create /etc/udev/rules.d/$config_file1＊＊＊＊＊＊＊＊＊＊"
SUBSYSTEM=="usb", ATTR{"High Tech Computer Corp."}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTR{"BBK marvell  Tech Computer Corp."}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTR{"BBK qualcomm Tech Computer Corp."}=="05c6", MODE="0666"
EOF
sudo cat >~/$config_file2<<EOF
#!/bin/bash
echo "＊＊＊＊＊＊＊＊create /etc/udev/rules.d/$config_file1＊＊＊＊＊＊＊＊＊＊"
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", SYSFS{"BBK marvell  Tech Computer Corp."}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{"BBK qualcomm Tech Computer Corp."}=="18d1", MODE="0666"
EOF

sudo cat >~/$config_file3<<EOF
#!/bin/bash
UBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"

SUBSYSTEM=="usb", SYSFS{idVendor}=="0451", SYSFS{idProduct}=="d002"  MODE="0666", GROUP="plugdev"
# Google Vendor ID for ADB
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
# HTC Vendor ID for ADB
BUS=="usb", SYSFS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
EOF

#设置高通的adb
sudo cat >~/$config_file3<<EOF
#!/bin/bash
#Sooner low-level bootloader
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="18d1", SYSFS{idProduct}=="d00d",MODE="0664", GROUP="plugdev"
# adb composite interface device 9018
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="05C6", SYSFS{idProduct}=="9018",MODE="0664", GROUP="plugdev"
#adb composite interface device 9025
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="05C6", SYSFS{idProduct}=="9025",MODE="0664", GROUP="plugdev"
EOF



#sudo cp ~/$config_file1  /etc/udev/rules.d/ -rfv
#sudo cp ~/$config_file2  /etc/udev/rules.d/ -rfv
sudo cp ~/$config_file3  /etc/udev/rules.d/ -rf
#sudo chmod a+rx /etc/udev/rules.d/$config_file1
#sudo chmod a+rx /etc/udev/rules.d/$config_file2
sudo chmod a+rx /etc/udev/rules.d/$config_file3
#sudo chmod a+rx /etc/udev/rules.d/$config_file4
rm ~/$config_file1  ~/$config_file2 -rfv


result=`question "重启 udev ?" 1 yes`
if [  "$result" = yes ] ; then
sudo /etc/init.d/udev restart
fi

echoText "adb 连接手机的时候请使用正确的版本" GREEN
echo "ls `dirname $0`/adb* -ls"
ls `dirname $0`/adb* -ls
exit

1 确定你的系统里已经有了android的sdk
2 通过usb连接手机到你的电脑上
	这时通过 lsusb 命令应该有以下一个设备
   	Bus 001 Device 005: ID 0bb4:0c02 High Tech Computer Corp
	(0bb4和0c02 正是我们手机的vid和pid）

3 在你的sdk的tools目录里运行 
	./adb devices
	应该有以下输出
	List of devices attached 
	bbk_smartphone	device

这个时候可以确认adb已经可以正常工作了。可以使用 adb shell取得终端 或者 eclips在线调试了 （以上工作在我的系统debian，阿桑陈方的机器上作过测试）


简单的说，只要装了sdk，不需要任何操作，adb是可以直接使用的

有的机器连到电脑上可能没有反应，这是因为我们板子的usb眼图差造成的( 和usb网卡找不到是一个原因），请换个usb口试试，一般pc后面的效果更好一些。


网上说ubuntu 9.04无法找到设备，整理如下，我的感觉是修改udev的rule文件是没有必要的。 如果有问题大家也可以试一试

在ubuntu 9.04下通过usb连接 Android设备，使用adb时,会返回无法找到设备,解决办法如下：
1) 在终端运行 lsusb
	Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp. 
	这时新建一个udev的规则文件
	sudo vim /etc/udev/rules.d/50-android.rules
	文件的内容如下：
	SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"

2) 重起udev服务：
	sudo chmod a+rx /etc/udev/rules.d/50-android.rules
	sudo /etc/init.d/udev restart
3) 在 android sdk 的 tools 目录下运行 （这一步很重要，必须要sudo，否则没效果）

	sudo ./adb kill-server
	使用下面命令查看连接到本机的android设备
	sudo ./adb devices
	
4) 	adb可以使用了
	./adb shell   得到手机控制终端
	eclips 里也可以直接连上手机调适程序了

init: /init.rc: 162: user option requires a user id
init: sys_prop: permission denied uid:2000  name:adb.connected

插入usb线后，lsusb
Bus 001 Device 005: ID 0bb4:0c02 High Tech Computer Corp
./usb/gadget/android.c:62:
#define VENDOR_ID               0x0bb4
#define PRODUCT_ID              0x0c02
#define ADB_PRODUCT_ID          0x0c02
./usb/serial/ipaq.c:489:	{ USB_DEVICE(0x0BB4, 0x0BCE) }, /* "High Tech Computer Corp" */








